Type - safe Composition of Object Modules
نویسندگان
چکیده
We describe a facility that enables routine type checking during the linkage of exter nal declarations and de nitions of separately compiled programs in ANSI C The primary advantage of our server style type checked linkage facility is the ability to program the composition of object modules via a suite of strongly typed module combination opera tors Such programmability enables one to easily incorporate programmer de ned data format conversion stubs at link time In ad dition our linkage facility is able to automat ically generate safe coercion stubs for com patible encapsulated data This research was sponsored by the Advanced Research Projects Agency DOD monitored by the Department of the Navy O ce of the Chief of Naval Research under Grant number N J The views and conclusions contained in this document are those of the authors and should not be interpreted as representing o cial policies ei ther expressed or implied of the Advanced Research Projects Agency or the US Government Contact author G Banavar Computer Science MEB University of Utah Salt Lake City UT USA e mail banavar cs utah edu phone fax Introduction It is widely agreed that strong typing in creases the reliability and e ciency of soft ware However compilers for statically typed languages such as C and C in tradi tional non integrated programming environ ments guarantee complete type safety only within a compilation unit but not across such units Longstanding and widely avail able linkers compose separately compiled units by matching symbols purely by name equivalence with no regard to their types Such common denominator linkers accom modate object modules from various source languages by simply ignoring the static se mantics of the language Moreover com monly used object le formats are not de signed to incorporate source language type information in an easily accessible manner In this paper we present a technique to perform type checking of object modules as a routine link time activity Our technique is characterized by i the design of speci c lan guage type systems into a system wide linker ii programmed link time control over indi vidual symbols of object modules and iii C style name mangling does not accomplish complete type safety across compilation units see Section
منابع مشابه
Free Extended BCK-Module
In this paper, by considering the notion of extended BCK-module, we define the concepts of free extended BCK-module, free object in category of extended BCK-modules and we state and prove some related results. Specially, we define the notion of idempotent extended BCK-module and we get some important results in free extended BCK-modules. In particular, in category of idempotent extended BCK-mod...
متن کاملTowards Safe Composition of Product Lines
Programs of a software product line can be synthesized by composing modules that implement features. Besides high-level domain constraints that govern the compatibility of features, there are also low-level implementation constraints: a feature module can reference elements that are defined in other feature modules. Safe composition is the guarantee that programs composed from feature modules a...
متن کاملSafe Language Mechanisms for Modularization and Concurrency
We study safe language mechanisms for modularization and concurrency. Our contributions are a case study and several new language mechanisms with associated theories. Our motivation is twofold. First, the construction of software used in safety-critical systems requires expressive specification and programming languages that are themselves safe. Second, we want to gain insight into models for c...
متن کاملOpen Types and Bidirectional Relationships as an Alternative to Classes and Inheritance
Open types are presented as a simple yet powerful data model for statically typed procedural and object-oriented programming languages, that overcomes the limitations of the traditional record-oriented model. The basic idea is to separate type definitions from the definitions of their attributes in order to allow incremental definitions of the latter. Furthermore, bidirectional relationships ar...
متن کاملFeature-Oriented Programming with Object Algebras
Object algebras are a new programming technique that enables a simple solution to basic extensibility and modularity issues in programming languages. While object algebras excel at defining modular features, the composition mechanisms for object algebras (and features) are still cumbersome and limited in expressiveness. In this paper we leverage two well-studied type system features, intersecti...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1994